perm filename SPELL.REG[UP,DOC]2 blob sn#075600 filedate 1973-12-04 generic text, type T, neo UTF8
	Using the spelling checker/corrector.

	Incant the command:  "R SPELL" to invoke the  spelling  check
program.  Assuming  that all is normal, it will type: "Do you want to
augment the dictionary?" If you don't have  an  auxiliary  dictionary
anywhere then type <return> and forget the next paragraph.

	If  you have a dictionary that you want to load then type "Y"
and <return> and you will be asked for the name  of  your  dictionary
file.  The dictionary file must be on disk. The format of the file is
one dictionary entry  (word)  on  a  line;  words  must  be  strictly
alphabetic  characters  and less than 40 letters long. The dictionary
entries need not be in alphabetical order.   After  typing  the  file
name  you  will  be  asked whether you want the new entries marked as
incremental  insertions.     If  the  new  entries  are   marked   as
incremental  then they will be included in an incremental dump of the
dictionary.    To have the new entries marked as incremental type "I"
and <return>, otherwise, type <return>.  (If any of the words in your
auxiliary dictionary are already  in  the  main  dictionary  then  no
second copy of the word will be made.  Hence if your words are marked
as incremental then in a subsequent incremental dump, any words  that
were  already in the dictionary will not be dumped.) After loading an
auxiliary dictionary the program will type the total number of  words
in  the dictionary and the amount of core used.  At present there are
about 10,700 words in the dictionary, using  35K  of  core.     After
loading  an  auxiliary,  you will have an opportunity to save the new
core image on your disk area (probably not worth it). Also  you  will
get an opportunity to load another auxiliary dictionary.

	Next you will be asked for the name of the file that you want
to check for spelling errors.  File names are specified in the  usual
format  of "name.ext[prj,prg]" where name is the filename, ext is the
file extension, and [prj,prg] is the name of the  file  owner,  which
may be omitted if the file is on the present user's disk area. If you
omit the file name then you will immediately enter the exit  sequence
(see below).

	You will be asked to specify a name for the output file.  The
output file is where the corrected version of the input goes.  If you
omit this name then no corrections will be made. (Only the exceptions
will  typed,  and  if  you  specify an exception file then it will be
made).

	You  will be asked to name an exception file.  This file will
contain all the lines on which exceptions were found and the rejected
words.  (This  file  is  probably not worth it). If you omit the name
then no such file will be created.

	After you have specified all the files, the program ought  to
respond  with  "working..."  and  start  checking  the input file for
spelling errors.

	When the spelling checker encounters a word that isn't in the
dictionary, it will type the page number, the line on which the  word
was  found  and  the word itself.  The very first time this happens a
message that explains the choices you have will be typed.

	These choices are:

A	Accept this word, this one time.

I	Accept this word and insert it  in  the  dictionary  so  that
subsequent  occurences  of this word will be recognized and accepted.
Words that are inserted this way are marked as incremental insertions
and they may be dumped to form an auxiliary dictionary.

R	Replace  this  word.   Type "R" <return> and the program will
ask you for the replacement word.  If the  replacement  word  is  not
already  in  the dictionary, the program will give you an opportunity
to insert it.

X	Accept this word and finish.  The word will be accepted. Then
the  remainder  of  the input file will be copied without checking to
the output file.

W	Save my incremental insertions.  After you type "W"  <return>
you  will  be asked for a file name.  Then an incremental dump of the
dictionary will be written into the file.  After the dump is complete
you may then decide what to do with the excepted word.

D	Display  the  line and offending word again. The line that is
displayed will not have any corrections shown in it. If  a  line  has
more  than  one  error the line will only be typed once.   Subsequent
errors on that line will cause only the particular word to be  typed,
unless this command is used.

S	If  this  choice  is  offered  then  the spelling checker has
discovered several words that could be possible corrections  of  this
word.   If you type "S" <return> then you will enter a mode where you
can look at the words that found  by  the  program  and  (optionally)
select one of the words from the list.

	When  you  enter this selection submode for the first time an
explanation will be typed.  The first word in the  list  of  possible
corrections  will be typed followed by an asterisk. Then you have the
following choices.

	Y<return>	Use this word as the correction.

	<return>	Show the next  possible  choice.    When  you
exhaust  the  choices  you  are returned to the outer mode, and asked
again.

	↑<return>	Back up in the list.

	<alt mode>	Escape from this submode and  return  to  the
outer command mode.

	In  general,  when  a  word  is  found  that  is  not  in the
dictionary a brief message, either "Type A,I,R,X,W  or  D"  or  "Type
A,I,R,X,W,D  or  S"  will  be  typed  to  remind  you of the possible
choices.   In the special case that the  program  finds  exactly  one
possible  correction  for the word, then the message "I guess <word>.
Type C to make this correction or A,I,R,X,W or D" will be typed.   If
you  type  "C"  <return>  then  the indicated substitution will made,
otherwise you have the usual choices.

	When the input file is  exhausted  the  correction  file  and
exception  file  are  closed  and  all I/O channels are released. The
program types "Finished."

	The exit sequence is entered next.  The user is given several
options.  They are:

E	Exit now.

S	Save this core image

C	Go back and correct another file.

A	Augment the dictionary and correct another file.

D	Complete  dump of the dictionary to disk.  This will create a
17 or 18K file, which probably isn't worth it.

I	Incremental dump of the dictionary to disk.   All  the  words
that  were inserted while running the program are dumped to the disk.
The user specifies a file name (the  default  is  WORDS.LST).    This
incremental dump is in a format suitable for editing or for use as an
auxiliary dictionary.  The words in this dump are not in alphabetical
order.    These  words  will appear in groups sorted by the first two
letters of the word and by the length of the word.  Otherwise, within
a group the words will appear in last in - first out order.

X	This command is used to get a trace count of the program.  It
is for diagnostic purposes only.

		How to use multiple dictionaries


	Spell  has  a  set of features whereby the user can cause the
creation of several disjoint incremental dictionaries.  In this  way,
the   user   may  collect  several  dictionaries  of  special  terms.
Internally,  all dictionary  entries  are  considered  equivalent  as
regards  searches  for  words.   The distinction between dictionaries
has its greatest impact when doing incremental dumps (the  I  command
during  the  exit  sequence  or  the W command while in the middle of
execution).  When an incremental dump  is  requested,  the  user  may
specify  a  number, e.g. W9, which selects the particular incremental
dictionary to dump.  In this example, dictionary #9 will be dumped.

	Dictionary 0 is the main dictionary.  Words cannot  be  added
to this dictionary, except by reading an auxiliary file.  In general,
words  that  are  inserted  incrementally  are  marked  as  being  in
dictionary  #1.   All  words  that  are incremental insertions in the
dictionary  will  be  marked  in  dictionary  #1,  unless  the   user
specifies otherwise.

	The following places are where the  user  may  specify  which
dictionary to add to:

	1.	When loading an auxiliary  dictionary,  if  the  user
responds  with  "Inn"  to  the  question about marking new entries as
incremental, then the new entries will be marked in dictionary number
nn (where nn is interpreted as decimal and should be less than 32).

	2.	After  a word has been rejected, type "Inn" to insert
the word in dictionary number nn.

	3.	After replacing a word, if the replacement is not  in
the  dictionary  then  type  "Inn"  to  insert  the  replacement into
dictionary nn.


	When requesting an incremental dump, the user may specify the
particular dictionary to dump.  This is allowed in two cases:

	1.	After some word has been rejected, the command  "Wnn"
will cause dictionary number nn to dumped.

	2.	During  the  exit  sequence,  the  command "Inn" will
cause dictionary number nn to be dumped.


	In  all  five cases above, if nn is either 0 or omitted, then
it will be taken as being 1.

	Caution. There is no provision in Spell for remembering which
dictionary  numbers  have  been  used.    Therefore,  it  remains the
individual user's responsibility to remember the numbers of  all  the
dictionaries  that he creates.  (Forgetting the number will mean that
the forgotten dictionary can not be dumped incrementally.  The  words
in  a  forgotten dictionary will still be available, but the only way
to actually get them dumped out is to dump the entire dictionary).


		The Pickup Feature.

	If any of the three file names in the  entry  sequence (where
the source, correction and exception files are specified) is followed
by the switch "/P" then, after accepting the three file names,  SPELL
will  enter  pickup  mode.   The user will be asked to specify a page
number and, if the file is in SOS format, a line number  for  pickup.
The  effect  is  to suspend spelling checking until the page and line
specified.   When a user has a partially corrected file, this command
will enable him to skip over the portion of the file that has already
been corrected.  The input file will be copied  without  checking  to
the output until the page and line specified, at which point spelling
checking begins.


		The Training feature.

	If  the file name of the input file is followed by the switch
"/T" then instead of correcting the file, Spell will treat  the  file
as  a  training  set.   All  words in the file that are unfamiliar to
Spell will be entered in the dictionary  as  incremental  insertions.
After Spell finishes reading the file, the user has an opportunity to
dump all the words that were inserted this way.  The  resulting  list
of words  may  be  edited  and  any  words which are incorrect may be
deleted.  Then this file can be used as an auxiliary dictionary while
correcting the original source file.

	This  feature  is  provided  for  the  purpose  of easing the
problem  of  creating  a  specialized  dictionary   of   jargon   and
infrequently used words.

	-------------------------------------------------

			Abnormal Conditions.

	While the program is running  it  is  possible  that  certain
abnormal conditions may obtain.  The usual response of the program is
to type some sort of error message.

	The following is a list of the error messages in SPELL,  with
an indication of the severity of the error.

Huh?		The  user  has  typed something illegal.   He will be
given another chance, usually  after  reviewing  the  list  of  valid
responses.

Default name is WORDS.LST	The  user  has  typed <return> when a
name for a dictionary output file was requested.  The name  Words.Lst
is used.

Default name is SPELL.DMP	The  user  has  typed <return> when a
name for a core dump file was requested. The name Spell.Dmp is used.

Illegal dictionary entry: <word>	This error occurs if an entry
in  a  dictionary  file exceeds 40 (decimal) characters.  The word is
ignored.

0 LENGTH WORD AT HASHCP		Somebody just asked  to  compute  the
hash address of an empty word.  The program continues, but there is a
possibility of great evilness.

HASHING ERROR			Somebody asked for the  hash  address
of  a  word  that  doesn't  begin  with  letters  as  the  first  two
characters. The program halts.

ILLEGAL CHARACTER IN SCAN.	This is a message  from  the  routine
that reads file names.  You will be asked to try retyping the name.

Can't get there from here	This   means  that  from  the  select
submode you typed ↑ to see the previous choice and you  were  at  the
first choice. The first choice is repeated.

DEVICE DATA ERROR (OUTPUT)	This message means that while writing
a file, something screwed up.  The program halts.

DEVICE ERROR (INPUT)		The input file is screwed up in  some
way.  The program halts.

INIT FAILED ON DEVICE DSK:	This  indicates  tremendous confusion
external to this program.  The program halts.

FILE NOT FOUND. DSK:<filename>	The  indicated  file  could  not   be
found. The user gets to specify some other file.

Enter failed on: <file name>	An  enter  uuo failed while trying to
select the indicated file for output.  The user may  specify  another
name.

INSUFFICIENT CORE AVAILABLE.  I GIVE UP.	Program requires more
core, but none is available.  The program exits.

Null term illegal.		The user typed <return> where a  file
name  is  needed.   The  user  has another opportunity to specify the
name.

Internal confusion in the  spelling  checker.  Called  from  location
<loc>.  The  spelling  checker  has  discovered  a  (possible) bug in
itself.   The program halts, but the user may type continue.   Please
note  the  location  mentioned  and the circumstances that evoked the
message.

Dictionary number too large. Maximum is 31.	This  message   means
that  the  user  attempted  to  select  for  insertion  or  dumping a
dictionary beyond the range of allowed numbers.  The  user  will  get
another chance to do the right thing.

You can't use Training Switch and have output or exceptions.	This
message  occurs  when  the switch "/T" is typed following the name of
the output or exception file.  If the "/T" switch is used, it  should
follow the name of the input file.

Unrecognized switch.	This message is typed whenever a file name is
followed by a switch that is not one of the Spell switches.